// pages/login/login.js
import request from '../../request/index'
import { showToast } from '../../utils/simplify-wx-api'
//使用 async await 语法必须引入，固定写法。
import regeneratorRuntime from '../../utils/runtime'
const App = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  //登录
  async loginSubmit(event) {
    const eventType = event.detail.target.id
    if (eventType === "login") {
      //登录
      const { phone, password } = event.detail.value
      //未填写手机号
      if (!phone.trim()) {
        showToast({msg:'请输入手机号~'})
        return
      }
      //未填写密码
      if (!password.trim()) {
        showToast({msg:'请输入密码~'})
        return
      }
      //发送登录请求
      const result = await request({
        url: 'login/cellphone',
        data: { phone, password }
      }, true)
      //登录失败，账号或密码错误（未考虑请求没有发送成功的情况）
      if (result.data.code !== 200) {
        showToast({msg:result.data.message})
        return
      }
      /**
       * 登录成功
       * 1.将用户的账号密码保存到云数据库中
       * 2.将cookie保存到本地存储中
       */
      //获取数据库的引用
      const db = wx.cloud.database()
      //获取需要操作的集合的引用
      const user_account = db.collection("user_account")
      //将未存储账号密码存入数据库指定集合中
      //获取用户openid查看是否存储过账号密码
      const result2 = await user_account.where({
        _openid: App.globalData.openid
      }).get()
      //如果数据库中没有账号就保存起来
      if (result2.data.length === 0) {
        user_account.add({
          data: { phone, password },
          success: _ => console.log("插入成功", _)
        })
      }
      const {
        province,city, nickname, userId, backgroundUrl,
        avatarUrl, signature, gender, birthday
      } = result.data.profile
      const userInfo = {
        province,city, nickname, userId, backgroundUrl,
        avatarUrl, signature, gender, birthday
      }
      //将用户信息保存到全部变量中
      App.globalData.userInfo = userInfo
      // 将cookie保存到本地
      wx.setStorageSync("cookie", 
      result.header["Set-Cookie"] 
      || result.header["set-cookie"]);
      //将用户信息保存到本地，好像并什么卵用(自信的把好像去掉🙄)
      wx.setStorageSync("userInfo", userInfo);
      //跳转到index页面(发现页面)
      wx.switchTab({ url: '/pages/index/index' });

    } else {
      //暂不登录
      wx.showToast({
        title: '暂未实现',
        icon: 'none',
        duration: 1500,
        mask: false,
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})